package com.caifu.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.caifu.pojo.*;
import net.sf.json.JSONObject;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 查房记录表 服务类
 * </p>
 *
 * @author Lyf
 * @since 2020-11-09
 */
public interface WardRoundService extends IService<YlWardRoundRecord> {

    /**
     *
     * 功能描述：保存老人基本信息
     *
     * @Param healthyArchives  基本信息   sysUser管理员信息
     * @Return
     * @Exception
     * @Author  GZ
     * @Date   2020/11/12 11:16
     */
    JSONObject saveBasicHealthyInfo(YlWardRoundRecord wardRound,YlHealthyArchivesRecord healthyArchives
            , YlUserHistoryRecord history, SysUser sysUser) throws Exception;

    /**
     *
     * 功能描述：保存老人体格检查信息
     *
     * @Param physiqueCheck 体格检查信息  sysUser管理员
     * @Return
     * @Exception
     * @Author  GZ
     * @Date   2020/11/12 11:16
     */
    JSONObject savePhysiqueCheckInfo(YlPhysiqueCheckRecord physiqueCheck, SysUser sysUser) throws Exception;

    /**
     * 功能描述: 获取数据字典
     *
     * @auther: Lyf
     * @date: 2020/11/20 14:27
     * @param:
     * @return:
     */
    List<YlCheckInfo> getCheckInfoList(String type , String pensionNo);

    /**
     * 功能描述: 获取数据字典
     *
     * @auther: Lyf
     * @date: 2020/11/20 14:27
     * @param:
     * @return:
     */
    List<YlCheckInfo> getCheckInfoList(String checkIds);

    /**
     * 功能描述: 保存实验室记录
     *
     * @auther: Lyf
     * @date: 2020/11/20 16:38
     * @param:
     * @return:
     */
    void saveLaboratoryRecord(String data,String batchNo);

    /**
     * 功能描述: 获取实验室记录
     *
     * @auther: Lyf
     * @date: 2020/11/20 16:39
     * @param:
     * @return:
     */
    List<YlLaboratoryInspect> getLaboratoryRecord(String batchNo);

    /**
     * 功能描述: 获取实验室记录
     *
     * @auther: Lyf
     * @date: 2020/11/20 16:39
     * @param:
     * @return:
     */
    List<Map<String,String>> getLaboratoryRecord_two(String batchNo);

    /**
     * 功能描述: 保存初步检查
     *
     * @auther: Lyf
     * @date: 2020/11/23 10:42
     * @param:
     * @return:
     */
    void savePreliminaryInspection(YlPreliminaryDiagnosis pd);

    /**
     * 功能描述: 修改初步检查
     *
     * @auther: Lyf
     * @date: 2020/11/23 10:42
     * @param:
     * @return:
     */
    void editPreliminaryInspection(YlPreliminaryDiagnosis pd,String userNo);

    /**
     * 功能描述: 获取查房信息（4-5步骤）
     *
     * @auther: Lyf
     * @date: 2020/11/23 11:10
     * @param:
     * @return:
     */
    YlPreliminaryDiagnosis getPreliminaryDiagnosis(String batchNo);

    /**
     * 功能描述: 根据用户编号获取用户信息
     *
     * @auther: Lyf
     * @date: 2020/11/24 9:58
     * @param:
     * @return:
     */
    Map<String,String> getUserInfo(String userNo);

    /**
     * 功能描述: 根据编号获取用户检查信息
     *
     * @auther: Lyf
     * @date: 2020/11/24 9:58
     * @param:
     * @return:
     */
    Map<String,String> getInspectInfo(String batchNo);

    /**
     * 功能描述: 获取历史查房列表
     *
     * @auther: Lyf
     * @date: 2020/11/24 16:48
     * @param:
     * @return:
     */
    List<Map<String,String>> getList(int start,int pageSize,String buildingNo,String startDate,String endDate,String userName);

    /**
     * 功能描述: 获取历史查房列表总记录数
     *
     * @auther: Lyf
     * @date: 2020/11/24 16:48
     * @param:
     * @return:
     */
    int getListCount(String buildingNo,String startDate,String endDate,String userName);
}
